package com.ruoyi.excel.domain.vo;

import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;


/**
 * 异步excel任务中心视图对象 async_import_export_task
 *
 * @author fjw
 * @date 2023-09-17
 */
@Data
@ExcelIgnoreUnannotated
public class AsyncImportExportTaskVo {

    private static final long serialVersionUID = 1L;

    /**
     * 任务id
     */
    @ExcelProperty(value = "任务id")
    private Long taskId;

    /**
     * 任务名称
     */
    @ExcelProperty(value = "任务名称")
    private String taskName;

    /**
     * 公司id
     */
    @ExcelProperty(value = "公司id")
    private Long companyId;

    /**
     * 用户id
     */
    @ExcelProperty(value = "用户id")
    private Long userId;

    /**
     * 优先级0-10
     */
    @ExcelProperty(value = "优先级0-10")
    private Long priority;

    /**
     * 请求参数
     */
    @ExcelProperty(value = "请求参数")
    private String reqParam;

    /**
     * 任务状态
     */
    @ExcelProperty(value = "任务状态")
    private Integer taskStatus;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createdTime;

    /**
     * 处理时间
     */
    @ExcelProperty(value = "处理时间")
    private Date dealTime;

    /**
     * 完成时间
     */
    @ExcelProperty(value = "完成时间")
    private Date finishTime;

    /**
     * 处理结果
     */
    @ExcelProperty(value = "处理结果")
    private String result;

    /**
     * 文件路径:
导入任务时，路径为用户文件上传 oss 的路径
导出任务时，路径为生成的文件在 oss 的路径
     */
    @ExcelProperty(value = "文件路径: 导入任务时，路径为用户文件上传 oss 的路径导出任务时，路径为生成的文件在 oss 的路径")
    private String tag;

    /**
     * 任务编码
     * D-A-01 下载当天呼叫记录

     */
    @ExcelProperty(value = "任务编码 * D-A-01 下载当天呼叫记录")
    private String taskCode;

    /**
     *      * 任务类型
     * 1：上传（导入）
     * 2：下载（导出）
     */
    @ExcelProperty(value = "     * 任务类型 * 1：上传", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "导=入")
    private Long taskType;

    /**
     * 要导出的数据列表
     */
    @ExcelProperty(value = "要导出的数据列表")
    private String listData;

    /**
     * 数据类型
     */
    @ExcelProperty(value = "数据类型")
    private String javaType;

//    /**
//     * 页角名
//     */
//    @ExcelProperty(value = "页角名")
//    private String sheetName;
}
